Method and apparatus for monitoring multiple electronic mail systems

ABSTRACT

A method for monitoring multiple electronic mail systems includes the steps of: a) configuring an e-mail system polling process on a user&#39;s machine; b) polling a number of e-mail systems from the user&#39;s machine; c) retrieving data from the e-mail systems concerning mail intended for the user; and d) storing the data on the user&#39;s machine in a format that permits the storage and retrieval of data pertaining to the plurality of e-mail systems. The polling can be accomplished in the background while the user is performing other tasks on the computer system. An apparatus for monitoring multiple electronic mail systems includes a digital processor, read/write memory coupled to the digital processor, and at least one external communication channel coupled to the digital processor permitting the digital processor to communicate with a plurality of external electronic mail systems. A poller of the apparatus is operative to generate inquiries over the communication channel to the plurality of electronic mail systems, a data retriever is operative to receive data concerning mail intended for a designated user, and a data handler is operative to store and retrieve data concerning the mail for the designated user. An article of manufacture of the present invention includes the poller, data retriever, and data handler stored in a machine-readable storage medium.

BACKGROUND OF THE INVENTION

This invention relates generally to electronic mail systems, and moreparticularly to electronic mail systems implemented with personalcomputers.

Personal computers were originally designed as stand-alone, desktopsystems. As such, single users used their personal computers to runapplication programs such as word processors, spreadsheets, databasemanagers, etc. Communications between a personal computer and othercomputer systems was largely limited to the physical transfer of datastored on a magnetic medium, such as a floppy disk or magnetic tape.

As personal computers became more widespread, there was an increasingdemand for direct data communication between two or more computers. Theuse of modems to allow inter-computer communications became common. Inaddition, there was a rapid development of personal computer networktechnology during the 1980's.

As the number of direct communication channels between personalcomputers increased, electronic mail systems proliferated. With anelectronic mail (“e-mail”) system, a computer user can create a messagein the form of electronic “mail” and can send it using another user'selectronic “address.” Recipients of e-mail can retrieve their electronicmail from their electronic “mailboxes” and, if desired, respond to orforward the message to other users.

E-mail systems tend to work quite smoothly if only a single mail systemis used on a particular personal computer. However, things begin to getmore complicated if the personal computer system supports a number ofe-mail systems. For example, a personal computer can be coupled to alocal area network (LAN), a wide area network (WAN), a mainframecomputer, and to other computerized systems over telephone lines viamodems. In such situations, multiple e-mail systems are likely to beavailable which requires users to periodically manually check each oftheir e-mail systems to see if they have any messages.

As an example, users might subscribe to multiple e-mail systems, such asAmerica On Line (AOL), CompuServe, the Internet, on-line bankingservices, etc. Any one or more of these e-mail systems might be holdingmail for a user at a particular time. Therefore, users must remember tocheck each of these e-mail systems on a periodic basis to determine ofthey have any mail. This can be a time consuming task if the user is asubscriber to a number of mail systems.

Furthermore, if users forget to periodically check for mail with each oftheir services, it is possible that important mail may remain unread fora long period of time. This can be especially problematical if thesender of the e-mail erroneously assumes that the user frequently checkstheir mail box and, therefore, has received and acted on the e-mail.

There are some e-mail systems which permit the automatic retrieval ofmessages or mail. For example, software provided by America On Line canbe configured to cause a personal computer system to automaticallyconnect (via modem) with AOL computers on a periodic basis to check formail. Also, StarNine Technology, Inc. of Berkeley, Calif. providessoftware called MaiILink Remote™ for QuickMail™ which works withQuickMail e-mail software made by CE Software of West Des Moines, Iowato periodically dial-in (via modem) to the Internet to check forInternet e-mail. The Internet e-mail can then be delivered to individualusers via the QuickMail e-mail system.

The prior art systems for automatically checking for e-mail suffer froma variety of drawbacks. For one, the software (referred to herein as“accessor” software) is typically custom-designed for each e-mailsystem. This tends to be. expensive and inflexible. Also, prior artsystems do not provide a method or apparatus for monitoring multiplee-mail systems, and for collecting, storing, and displaying e-mailinformation concerning the multiple systems in a consolidated and usablefashion. Because of these limitations, users have heretofore been forcedto either manually check each E-Mail system on a periodic basis, or beensubjected to multiple, independent, inconsistent, and possiblyconflicting automated retrieval systems.

SUMMARY OF THE INVENTION

The present invention provides a method and apparatus for effectivelymonitoring multiple e-mail systems and for alerting users when they havereceived e-mail at any one or more of the multiple systems. Theinvention does not require modification of the accessor software for aparticular e-mail system, and can provide either background or manualpolling of all or selected subset of e-mail systems that are accessibleby a given personal computer system. In addition, images, text, ande-mail attachments can be automatically downloaded to a user's personalcomputer for later use.

A method for monitoring multiple e-mail systems in accordance with thepresent invention begins with configuring an e-mail system pollingprocess on a user's machine, e.g. a personal computer. Next, a number ofe-mail systems are polled from the user's machine over appropriatecommunication channels. These communication channels often include amodem and a telephone line connection (“telephone system”). With atelephone system communication channel, the polling is accomplished bydialing the access telephone number of the e-mail system using themodem, and then sending inquiries to the e-mail system over thetelephone lines. Next, data is retrieved from the e-mail systemsconcerning the mail intended for the user. This data can include a“null” indicating that there are no messages for the user, or it caninclude data indicating that there are one or more messages for theuser. Further, an image of the e-mail message, the text of the message,or any attachment to the e-mail can be downloaded to the personalcomputer system as data. Finally, the method includes a step of storingthe downloaded data on the user's machine in the format that permits theconvenient and efficient storage and retrieval of data pertaining to anumber of e-mail systems.

An apparatus for monitoring multiple electronic mail systems includes adigital processor, read/write memory coupled to the digital processor,and at least one external communication channel coupled to the digitalprocessor to permit the digital processor to communicate with aplurality of e-mail systems. The apparatus further includes a pollerwhich generates inquiries over the communication channel, a dataretriever which retrieves data concerning mail intended for a designateduser, and a data handler stores and retrieves data concerning mail forthe designated user. A number of external communication channels can beused with the present invention, including a local area network (LAN), amodem/telephone line system, and terminal emulators for coupling thedigital processor to a larger computer system.

An article of manufacture for monitoring multiple electronic mailsystems includes a machine-readable storage medium, a poller stored inthe storage medium and including program instructions to generateinquiries over at least one communication channel to a number of e-mailsystems, a data retriever stored in the storage medium including programinstructions to receive data concerning e-mail intended for a designateduser from the plurality of e-mail systems, and a data handler stored inthe storage medium and including program instructions to store andretrieve the data concerning mail for the designated user from theplurality of electronic mail systems. The article of manufacture furtherincludes a controller stored in the storage medium and including programinstructions to control the operation of the poller, the data retriever,and the data handler. In addition, the article of manufacture preferablyincludes an inputter stored in the storage medium including programinstructions which allows user inputs to the controller, and a displayerstored in the storage medium including program instructions which allowsthe selective display data stored by the data handler.

The present invention also includes an e-mail database structure storedin machine-readable memory including a plurality of mail headerscorresponding to a plurality of e-mail systems that are being monitoredfor messages for a designated user, and a message block corresponding toeach detected message for the designated user from the plurality ofe-mail systems, where each message block is linked with an e-mailheader. Preferably, each of the plurality of mail headers includeinformation concerning the number of messages with which it is linked.Also preferably, each of the message blocks includes a messageidentification code associated with the message block and its mailheader. Each of the message blocks can further include informationconcerning the message and pointers to data reflecting a content of themessage. The content can include, for example, images of the message,the text of the message, and attachments to the message.

These and other advantages of the present invention will become apparentto those skilled in the art upon a reading of the following descriptionsof the invention and a study of the several figures of the drawing.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a communication system including multiplee-mail systems and an apparatus for monitoring the multiple e-mailsystems;

FIG. 2 is a block diagram of an apparatus for monitoring multiple e-mailsystems;

FIG. 3 is a flow-diagram of a method for monitoring multiple e-mailsystems in accordance with the present invention;

FIG. 4 a is a view of a computer screen which helps illustrate the“CONFIGURE E-MAIL SYSTEM POLLING PROCESS” step of FIG. 3;

FIG. 4 b illustrates an interactive dialogue window called from thescreen shown in FIG. 4 a;

FIG. 5 illustrates a data structure of the present invention;

FIG. 6 is a flow-diagram illustrating the “POLL AN E-MAIL SYSTEM FROMUSER MACHINE” step of FIG. 3;

FIGS. 7 a and 7 b are examples of connection session display screens forestablishing and controlling an Internet connection in accordance with apreferred embodiment;

FIG. 8 is a flow-diagram of the “RETRIEVE DATA CONCERNING MAIL FROME-MAIL SYSTEM” step of FIG. 3;

FIG. 9 is a diagram illustrating the “STORE DATA ON USER MACHINE” stepof FIG. 3;

FIGS. 10 a, 10 b, and 10 c illustrate the “DISPLAY DATA CONCERNING ANUMBER OF E-MAIL SYSTEMS” step of FIG. 3;

FIG. 11 is a dialog box further illustrating the “DISPLAY DATA” step ofFIG. 3; and

FIGS. 12 a, 12 b, and 12 c further illustrate an embodiment of the“DISPLAY DATA” step of FIG. 3.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

In FIG. 1, a communication system 10 in accordance with the presentinvention includes a “local” or “user” computer system 12 and one ormore communication channels such as a local area network (LAN) 14, atelephone line 16, and a main-frame computer link 18. The computersystem 12 can communicate by electronic mail (e-mail) with a number ofremote systems, including a mail server 20, one or more “other” computersystems 21, a remote system 22, a main-frame 24, and a file server 38.The present invention manages and enhances the handling of multiplee-mail sources over one or more communication channels.

A computer system 12 of the present invention is preferably a personalcomputer or workstation available from a variety of vendors. Moreparticularly, computer system 12 is preferably a Macintosh™ computersystem available from Apple Computer, Inc. of Cupertino, Calif. However,computer system 12 can also be an IBM/PC-AT compatible personal computerrunning, for example, DOS or Windows™ operating systems, such systemsbeing available from Microsoft, Inc., of Redmond, Wash. Still further,computer system 12 can be a custom computer system designed primarilyfor communication with multiple e-mail servers over one or morecommunication channels.

Computer system 12 includes a digital processor 26 (sometimes called acentral processing unit or “CPU”), read-only memory (ROM) 28, randomaccess memory (RAM) 30, and input/output (I/O) circuitry 32. Thecomputer system 12 includes an internal bus 34 including appropriatecontrol (C), data (D), and address (A) busses. The digital processor 26,ROM 28, RAM 30, and I/O 32 are coupled (directly or indirectly) to theinternal bus 34 to provide internal communications between the systemcomponents. The design and manufacture of computer systems such ascomputer system 12 is well known to those skilled in the art.

As indicated previously, the computer system 12 is preferably aMacintosh™ computer system. The digital processor 26 is therefore eitherpreferably a Motorola 68XXX Microprocessor or a Power-PC Microprocessor,also available from Motorola, Inc. ROM 28 includes the basic start-upinstructions for the computer system 12 and also includes a substantialportion of the computer operating system. RAM 30 is used as“scratch-pad” memory to temporarily hold data and application programsexecuting on digital processor 26. 1/0 32 includes latches, buffers,registers, etc. which facilitate the communication of computer system 12with external devices and systems.

Computer system 12 is preferably associated with peripheral memory 36.As used herein, “peripheral memory” will refer to “secondary” or“non-primary” memory. Primary memory such as RAM 30 is used more for theimmediate storage needs of the processor 26, while the peripheral memoryis typically used for longer term (and less frequently used) storage.Primary memory tends to be volatile (i.e. the memory is lost when poweris removed), while peripheral memory tends to be non-volatile. Theperipheral memory can be coupled to the computer system 12 through I/O32 or, in some instances, is directly coupled to the internal bus 34.Examples of peripheral memory include hard disk drive units, floppy diskdrive units, and PCMCIA memory units. The peripheral memory 36 istherefore generically represented as one or more of these peripheralmemory types.

Each of the peripheral memory types described above includecomputer-readable media. For example, the hard disk of a hard disk driveperipheral memory 36 can store data and software instructions in amagnetic media. Likewise, CD-ROM or floppy disk peripheral memory 36 canstore data and software instructions in machine-readable form. The sameis true for PCMCIA memory which stores machine-readable data andsoftware instructions in a form of “flash” memory.

The communication system 10 can also include an external communicationchannel such as a local area network (LAN) 14. The LAN 14 is often (butnot necessarily) managed by a file server 38. A mail server 20 is oftenprovided to manage e-mail communications among a number of computersystems (such as computer systems 12 and 21) coupled to the local areanetwork 14. The mail server 20 is typically a personal computer systemis provided with specialized e-mail software. This e-mail software canalso be run on file server 38, or may be distributed throughout thesystem on user personal computers (such as computer systems 12 and 21)in a peer-to-peer system. However, as it is presently implemented, amail server 20 is preferably a stand-alone system or is a part of thefile server 38.

The computer system 12 also has the capability of sending and receivinge-mail to a number of remote systems 22. For example, the computersystem 12 can communicate with a commercial service such as AmericaOn-Line (AOL), communicate through the Internet, or communicate with anOn-Line Banking system. These communication links are typicallyaccomplished through a modem 40 over a standard analog telephone line16. However, it is also possible to communicate directly digitally witha number of systems, such as over a digital ISDN line. In such aninstance, a modem 40 will not be required but, rather, and ISDN bridgeor the like would likely be required.

To communicate with a remote system 22, the computer system 12 instructsthe modem 40 to dial an access number to the remote system 22. Atelephone connection is then made over telephone line 16. Of course, asused herein, “telephone line” includes any transmission media used by atelephone service provider including microwave, fiber optic, wire andsatellite links. The computer system 12 and remote system 22 can thencommunicate e-mail messages over this telephone line connection.

Computer system 12 can also communicate with other sources of e-mail.For example, mainframe computer systems 24 are often used as centralservers for personal computers and computer terminals. For example, theIBM 3090 mainframe is often used for such a purpose. In order to connectthe computer system 12 to a mainframe 24, a terminal emulator 42 (suchas the 3270 emulator) and interfacer 44 (such as a 3274 interfacer) canbe used, as it is well known to those skilled in the art.

As will be appreciated from a study of FIG. 1, the computer system 12can receive e-mail from a variety of sources. For example, the computersystem 12 can receive e-mail from mail server 20, a number of remotesystems 22, from a mainframe system 24, from the file server 38, andfrom a number of other computer systems (e.g. computer system 21)coupled to LAN 14. As will be described subsequently, the presentinvention includes specialized software for managing and controllinge-mail from multiple remote sources. However, it should be noted thatsome or all of the processes described herein can be implemented insoftware, firmware, hardware, and any combination of software, firmware,and hardware.

FIG. 2 illustrates a communication system 46 in accordance with thepresent invention. As noted above, the communication system 46 can beimplemented in software in a computer-readable media such as RAM 30, andcan be provided to end users on computer-readable media such as a floppydisk 48 or a CD-ROM (not shown). When a communication system 46 isstored on floppy disk 48, an article of manufacture is created which canbe used to configure computer system 12 to perform the communicationmanagement processes of the present invention.

The communication system 46 includes a controller 50, a poller 52, adata retriever 54, a data manager 56, an inputter 58, and a displayer60. The controller 50 provides overall control of the processimplemented by the communication system 46. A poller 52 interacts withone or more mail system accessors 62 to communicate over a communicationchannel 64 with one or more remote e-mail systems. The mail systemaccessors 62 are typically provided by the e-mail remote serviceprovider. For example, America On-Line (AOL) will provide an AOL mailsystem accessor, Wells Fargo Bank will provide a Well Fargo On-Lineservice accessor for on-line banking, etc. Data retrieved from a remotee-mail system is passed by the mail system accessor 62 to data retriever54. This data is passed to data manager 56 for storage in an appropriatedata structure to be discussed subsequently. The data manager 56 caninteract with a displayer 60 to display information concerning about thereceived data on a screen 12. The inputter 58 (typically a keyboard ormouse) of computer system 12 allows user inputs to controller 50.

As noted above, in the present invention it is preferred to use the mailsystem accessors 62 provided by the e-mail system. However, thefunctionality of the mail system accessors can be directly integratedinto the communication system 46 of the present invention. While thisrequires the development of accessor drivers for each desired e-mailsystem, it has the advantage of being more closely integrated with thefunctionality of the communication system 46. Therefore, in anembodiment of the present invention, some or all of the functionality ofthe mail system accessor 62 may be provided with communication system 46and delivered on a computer-readable medium such as floppy disk 48.Implementation of such “accessors” or “drivers” is well known to thoseskilled in the art.

In FIG. 3, a process 66 for monitoring multiple electronic mail systemsis illustrated. The process 66 begins at 68 and, in a step 70, thee-mail system polling process is configured. Next, in a step 72, ane-mail system is “polled” from a user machine. As used herein, a “poll”refers to the connection to an e-mail system at the initiation of theuser's machine and the subsequent inquiry to the remote e-mail systemconcerning e-mail for the user. The verb “polling” refers to the act ofmaking a “poll.” Next, in a step 74, data concerning e-mail is receivedfrom the remote e-mail system. This, data can be the e-mail itself or itcan be the existence or non-existence of the e-mail on the remote e-mailsystem. Next, in a step 76, data is stored on the user machine in aformat which permits the storage of information concerning a number ofremote e-mail systems. In a step 78, it is determined whetherinformation concerning e-mail is said to be displayed on the screen ofthe computer system 12. If not, process control is returned to step 72.If information, is to be displayed, it is displayed in step 80 in aformat which permits information concerning a number of remote e-mailsystems to be displayed simultaneously.

In FIGS. 1 and 4 a, a screen 82 of a display 83 coupled to the internalbus 34 of computer system 12 by a video I/O interface 85 is illustrated.The screen 82 includes a “desktop” 84, a command bar 86, and a window88. Screen similar to the illustrated screen 82 can be provided byMacintosh™ computer systems.

The “CONFIGURE E-MAIL SYSTEM POLLING PROCESS” step 70 of FIG. 3 will bedescribed with reference to both FIGS. 4 a and 4 b. In FIG. 4 a, apointer 90 is pointing to (“selecting”) an e-mail system “QMREMOTE” asindicated by the selection box 92. After the service QMREMOTE has beenselected (such as by “double clicking” the button of a mouse 93 coupledto internal bus 34 via a keyboard 95 and a keyboard I/O interface 97 inFIG. 1) a window 94 as illustrated in FIG. 4 b will appear on desktop84. The window 94 includes a number of fill-in and check-off boxes. Forexample, the window 94 includes fill-in boxes 96, 98, 100, 102, and 104.Window 94 also includes check-off boxes 106 and 108. The fill-in box 96permits a user to enter or “input” the frequency of the polling to beprovided by the system of the present invention. In this instance, thefrequency is set for 30 minutes. That is, every 30 minutes, the poller52 will access the e-mail system QM Remote, form a communications link,and poll the e-mail system. Fill-in box 98 indicates whether a prioritydisplay is to be provided. For non-priority displays, the check-offboxes 106 and 108 indicate whether the source icon is to be cycled or adialogue box is to be displayed, or both. Fill-in box 100 indicateswhether an image of an e-mail should be downloaded to the user'scomputer system 12. Fill-in box 102 indicates whether text should bedownloaded to the user's computer system 12. Finally, fill-in box 104indicates whether an attachment should be downloaded to the user'se-mail system 12.

FIG. 5 illustrates a data structure 110 in accordance with the presentinvention. This data structure can be stored in any machine-readablemedium such as in RAM 30 or in peripheral memory 36. The data structure110 includes a header 112 and a number of message blocks, such asmessage blocks 114 and 116. Each of the message blocks (such as messageblocks 114 and 116) that are associated with the e-mail system of theheader 112 are linked to the header 112. This linking is illustratedgraphically by the box 118. As it should be noted that the illustrationof FIG. 5 is a logical, and not necessarily physical, construct and thevarious data can be stored in various locations in memory that are notnecessarily contiguous with each other. However, as it is well known tothose skilled in the art of data management, pointers and links can beused to provide the functionality described herein even though the datamay be distributed in various locations and memory.

The header 112 includes the identification of the remote e-mail system,which in this instance, is QMREMOTE. In addition, the header 112 mayinclude the total number of messages on that remote e-mail system, and anumber of unread messages on that remote e-mail system. Otherinformation may be included in the header 112 to provide data concerningthe particular remote service which helps in the management of themessage blocks for that remote service.

The message blocks 114 and 116 are similar in structure, although theycontain different data. In message block 114, a message ID 120 number“0” is provided so that it can be differentiated from other messageblocks. Next, it is indicated whether the message “0” has been read.Since it has, in this instance, an image pointer and a text pointer areprovided. The image pointer points to an address A0 where the image ofthe e-mail is stored in memory. The text pointer points to an address A1where the text of the message is stored.

The message block 114 also indicates that an e-mail “attachment” hasbeen downloaded. As it is well known in the art of providing e-mailsystems, and “attachment” is a file, document, image or other datum thataccompanies a given e-mail message. Since in this instance it isindicated that an attachment has been downloaded, an attachment pointerA2 points to the location in memory where the attachment has beenstored. Next, the priority is indicated to be urgent and the sender isindicated to be James Winston. The message regards a deadline and wassent at Jun. 7, 1995 at 13:33 in the afternoon.

Message block 116 includes a message ID 120 of “19”, and indicates thatthe e-mail for message # 19 has not yet been read. Further, it indicatesthat the attachment has not been downloaded. The priority of the e-mailis “normal” and the sender is “Sunee.” The message regards “Lunch onFriday” and was sent on Jun. 7, 1995 at 15:53 in the afternoon.

It should be noted that the data structure 110 is associated with thee-mail system QM Remote. A similar data structure will be provided foreach of the other e-mail remote services supported by the system. Forexample, America On-Line (AOL) will have its own data structure similarto data structure 110. Such multiple data structures can be managed by anumber of data management procedures, as will be appreciated in thoseskilled in the art. Alternatively, the data structures for the variouse-mail remote services can be merged into a single, integrated datastructure, as will be appreciated by those skilled in the art ofdatabase management.

It will also be appreciated that other data structures can be utilizedin the present invention. For example, each message block canincorporate some or all of the data of the header, thereby eliminatingthe need for the header 112. However, such data blocks would integratethe functionality of the header 112, rendering such a structuresubstantially equivalent.

FIG. 6 illustrates the “POLL A REMOTE E-MAIL SYSTEM FROM A USER MACHINE”step 72 of FIG. 3 in greater detail. The process of the 72 begins at 124and, in a step 126, it is determined whether a poll should be initiated.This determination in step 126 can be manual, e.g. a user indicates thata poll should be initiated or it can be automatic, e.g. the computerinitiates the poll at regular time intervals or upon the detection thatcertain conditions have been met. In the case of automatic polling, thefrequency of polling indicated in box 96 of FIG. 4 b can be used.Alternatively, if certain conditions have been met, such as the power-upof the system, the log-in of a new user, or the exiting fromcomputational or memory intensive user applications, the poll can beautomatically initiated.

If a poll is not to be initiated, the process 72 goes into an idle loop.Of course, other processes may be occurring concurrently. If a poll isto be initiated, the mail connection is established in step 128. Asdescribed previously, this is preferably accomplished through a mailsystem accessor such as a mail system accessor 62 of FIG. 2. Next, in astep 130, it is determined whether the connection was successful. Ifnot, data is stored in an error file in a step 132. Next, in a step 134,is determined whether there should be an additional poll. Reasons for anadditional poll can include an unsuccessful connection, or an additionale-mail system on the same communication link. If no additional pollingis to be done, the process 72 is complete as indicated by step 136.

An example of the establishment of an e-mail connection to the Internetis illustrated in FIGS. 7 a and 7 b. The Internet has become anincreasingly popular vehicle for electronic communication andinformation transfer. An example of an access method display ispresented in FIG. 7 a. This display is entered traditionally bydouble-clicking on an icon associated with a windows session on apersonal computer. The toolbar 700 facilitates rapid access to mostimportant commands. The commands on the toolbar can also be typicallyaccessed with the menus on the menu bar. The address bar 730 displaysthe Internet address (URL) of the World Wide Web page a user iscurrently viewing. In this instance, the page has an address (URL) ofhttp://www.hickman.com. If the page is located on a local computer, thefull path to the page is displayed. The address bar can also be utilizedfor navigation by typing the address of a page that is of interest to auser. The globe animation 710 revolves in an animated fashion on thedisplay when information transfer is in process from a remote computeron the Internet. The status bar 740 interactively presents informationon what is currently happening. The icon at the far right of the barshows detailed information when the pointer is positioned over it. Asdata is being retrieved, the detailed information also appears at thestatus bar's left end. The document display area 720 displays the WorldWide Web page currently active in the display area. Any items that arehighlighted are links (e.g. “Information”, “Explore”, “Go To”, and“Search”), and clicking on them transfers control to the page ofinformation associated with the link area.

When a particular World Wide Web site is accessed, the informationassociated with the area is placed in a cache, a set of files stored onthe user's computer. When a link is selected, the cache is initiallyqueried to determine if the page of interest is located in the cache. Ifit is, then the page is loaded from the cache instead of transferringthe information from the Internet. This greatly increases the speed ofoperation of the browser. If the page is not found in the cache, then aconnection is attempted with the Internet utilizing a modem andautodialer software or through a Local Area Network (LAN) access if alink exists on a local network.

A preferred embodiment utilizes the Setting Options display shown inFIG. 7 b to customize features to suit a user's particular preferencesand access the Internet through a common interface. From the SelectOptions display, many of the Internet's features can be selected inaccordance with a user's preferences. For example, the Appearance tab760 allows a user to set colors for foreground, background, and links.Control of the appearance of information on a display can also bemanipulated utilizing this display. The Start Page tab 762 allows a userto specify what World Wide Web page should be the first presented to auser when the system is started. The Advanced tab 764 allows a user tospecify how many items will be kept in a history folder and how largethe cache size should be. The File Types tab 766 allows a user toassociate a particular program with a particular file type. For example,if a WordPerfect (WP) file is encountered, WordPerfect™ can be startedto allow the file to be properly manipulated by a user. All of thesetabs are stored in a file with the values associated with each tab. Thisfile can be manipulated by a program to facilitate interfacing with thestandard displays already discussed in accordance with a preferredembodiment of the invention.

Therefore, in the present embodiment, the Internet browser is used asthe accessor software. The browser is evoked, preferably in thebackground, to make a connection to the Internet. Macros are then usedto poll appropriate web pages (as selected by the user) and/or retrievee-mail (and any attachments) addressed to the user. For example,commercial services such as UUNET permit users to have a “virtual”domain name on the internet, such as USER@VIRTUALDOMAINNAME.COM. In thisinstance, “USER” is the name of the mail recipient, “VIRTUALDOMAINNAME”is the name of the commercial entity (e.g. the company), and “COM”designates that it is a commercial enterprise. Other common suffixes are“EDU” for educational entities, “GOV” for government entities, and “NET”for network entities. The accessor software then retrieves the pertinentinformation from the Internet e-mail, or the e-mail itself and/or itsattachments, and uses that information as described herein.

In FIG. 8, the step 74 “RETRIEVE DATA CONCERNING E-MAIL” of FIG. 3 isillustrated in greater detail. The process 74 begins at 150 and, in astep 152, the number of messages for a given user on a given e-mailsystem is retrieved. Next, in a step 154, the number of unread messagesfor the given user on the given e-mail system is retrieved. Next, in astep 156, the priority, sender, Re, date, time for each message isretrieved. However, it should be noted that steps 152-156 can beperformed at different orders, or in some instances, essentiallysimultaneously.

After retrieving information concerning the messages, an iterative loop158 is entered. The iterative loop uses a counter “i” and loops for thenumber of unread messages that were determined in step 154. Upon thecompletion of the iterative loop 158, the process 74 is completed asindicated in step 160. However, if there are still unread messages, astep 162 determines whether the message should be read. This can bedetermined by the fill-in boxes 100 and 102 of window 94 of FIG. 4 b. Ifthe message is to be read, a decision is made in step 164 whether theimage should be captured. If so, the image is captured in a step 166. Ina step 168, it is determined whether the text should be downloaded. Ifso, the text is downloaded in a step 170. Process control is thendirected to step 172, which determines whether the attachment (if any)for a given message should be downloaded. If “yes”, the attachment isdownloaded in a step 174. Process control is then returned to iterativeloop 158 wherein the counter i is incremented by 1. If here areadditional unread messages, iterative loop 158 is traversed again, andif not, the process 74 is completed at step 160 as described previously.

FIG. 9 is used to illustrate the step 76 “STORE DATA ON USER MACHINE”described with reference to FIG. 3. A preferred data structure hasalready been described with reference to FIG. 5. As previouslydescribed, the data structure 110 includes a number of pointers A0, A1,A2, . . . AN which points to various data D0, D1, D2. . . . DN. Data D0,in this instance, is the image of message 0 retrieved from the e-mailsystem QM Remote. As used herein and “image” of a message refers to datawith contains little or no content information, i.e. just datapertaining to the image itself. For example, an image of a message mightinclude only a bitmap of the visual image of the message, without havinginformation concerning the content of the message, such as the ASCIItext of the message. Data D1 is the text for the same message. Likewise,a data structure 110′ can be for a different remote e-mail system suchas the Internet. In this instance, pointers A0′ would point to data D0′,pointer A1′ points to data D1′, and pointer AN′ points to pointer DN′.The use of pointers allows large data files (such as images) to beplaced in slower mass storage while the searchable data structures 110and 112 can be placed compactly in a faster storage medium, such as RAM30.

In FIGS. 10 a-10 c, various aspects of steps 80 of FIG. 3 “DISPLAY DATACONCERNING A NUMBER OF REMOTE E-MAIL SYSTEMS” are illustrated. Withbrief reference to FIG. 4 a, it will be noted that there is an icon 87in the upper left hand corner of screen 82. In the case of theMacintosh™ computer system, this icon is the Apple logo for AppleComputer, Inc. A method for displaying the receipt of messages asillustrated in FIG. 10 a is to alternatively flash the icon 87 withabbreviations or icons representing a remote e-mail system having unreadmessages for a designated user. In is instance, the abbreviations “QMR,”“CC,” and “I” are flashed in succession to indicate that there aremessages on Quick Mail Remote, CC mail, and the Internet for the user.For example, the icon 87 can be flashed for one second, the abbreviation“QMR” can be flashed in the place of icon 87 for one second, theabbreviation “CC” can be flashed in the place of the abbreviations QMRfor one second, the abbreviation “I” can be flashed in the place ofabbreviation CC for one second, and then the icon 87 can replace theabbreviation “I” for one second with the loop repeating until stopped bythe user.

In FIG. 10 b, a more simplified designator is illustrated. In thisinstance, the icon 87 and the number 5 are alternatively flashed on the“command bar” 86 of the screen 82. The “command bar” is a visuallocation on the screen 82 which includes titles of pull-down menus forvarious system functions. The number “5” indicates that five messageshave been received from various e-mail sources. Of course, the number“5” is merely an example, and the actual number of messages received isalternatively flashed with the icon 87.

A still simpler mechanism is illustrated in FIG. 10 c. In this instance,the icon 87 is alternatively flashed with an arbitrary symbol, such asthe asterisk symbol “*” shown. This merely indicate to users that thereis e-mail in the system that is addressed to them from some remotee-mail source.

FIG. 11 illustrates a window 176 that can “pop up” on the screen uponthe receipt of data concerning a remote e-mail system. This type ofwindow is typically only used for urgent messages, as indicated bypriority display selection 98 of FIG. 4 b. In this example, an urgentmessage is being sent by James Winston concerning a deadline, and theservice QM. Remote is indicated as the source of the message. The usercan then log-in to QM Remote to receive the message or can retrieve themessage or image of the message that had already been downloaded, if thedownload option had been selected.

FIGS. 12 a-12 c illustrate a hierarchy of menus concerning e-mail from avariety of e-mail sources. In FIG. 12 a, a window 178 indicates withselection box 180 that mail has been received through Quick Mail, theInternet, and CC Mail. A pointer 182 can be used to select the QuickMail source, and the number of read and unread messages on Quick Mailfor all senders is displayed in a window 184 in FIG. 12 b. A pointer 186can then select a given sender (in this case “Sierra”) to create awindow 188 which shows all of the Quick Mail messages from Sierra andthe status of those messages. In this instance, message 1 is unread, butthe image and attachment for the message is stored in local memory,message 2 has been read and the text has been stored in local memory,and message 3 has been unread and the image, text, and attachment hasbeen stored in local memory.

While this invention has been described in terms of several preferredembodiments, it is contemplated that alternatives, modifications,permutations and equivalents thereof will become apparent to thoseskilled in the art upon a reading of the specification and study of thedrawings. It is therefore intended that the following appended claimsinclude all such alternatives, modifications, permutations andequivalents as fall within the true spirit and scope of the presentinvention.

1. A method for monitoring multiple electronic mail systems over aTCP/IP protocol network comprising the steps of: configuring an e-mailsystem polling process on a user machine; polling a plurality of e-mailsystems over a TCP/IP protocol network from said user machine;retrieving data from said Plurality of e-mail systems concerning mailintended for said user; and storing said data on said user machine in aformat that permits the display of data pertaining to said plurality ofe-mail systems.
 2. A method for monitoring multiple electronic mailsystems as recited in claim 1 wherein said step of configuring an e-mailsystem polling process includes the steps of: designating a plurality ofe-mail system accessors; and designating an activation schedule for eachof said plurality of e-mail system accessors.
 3. A method for monitoringmultiple electronic mail systems as recited in claim 2 wherein said stepof configuring an e-mail system polling process further includes thestep of: for each of said plurality of e-mail system accessors,designating at least one of a plurality of parameters selected from amessage retrieval group consisting essentially of downloading an image,downloading text, and downloading an attachment from an e-mail systemaccessed by a respective e-mail system accessor.
 4. A method formonitoring multiple electronic mail systems as recited in claim 3wherein said step of configuring an e-mail system polling processfurther includes the step of: designating at least one message displayparameter for each of said plurality of e-mail system accessors.
 5. Amethod for monitoring multiple electronic mail systems as recited inclaim 1 wherein said step of polling a plurality of e-mail systems fromsaid user machine includes the steps of: detecting a time to initiate apoll for a given e-mail system; establishing a mail connection to saide-mail system; and providing an inquiry to said e-mail system todetermine the existence of messages for said user.
 6. A method formonitoring multiple electronic mail systems as recited in claim 5wherein said step of establishing a mail mechanism includes the step ofactivating of an e-mail system accessor.
 7. A method for monitoringmultiple electronic mail systems as recited in claim 6 wherein said stepof retrieving data includes the step of retrieving data from said e-mailsystem accessor.
 8. A method for monitoring multiple electronic mailsystems as recited in claim 5 wherein said step of storing data includesthe step of storing an e-mail database structure in a machine-readablememory, where said e-mail database structure includes a plurality ofmail headers and a message block for each retrieved messages, where eachmessage block is linked to a mail header corresponding to the origin ofthe data stored in said message block.
 9. A method for monitoringmultiple electronic mail systems as recited in claim 1 wherein saidplurality of e-mail systems are Internet-based e-mail systems.
 10. Amethod for monitoring multiple electronic mail systems as recited inclaim 1 further comprising the steps of: visually displaying anindication that there is at least one message from at least one e-mailsystem for said user.
 11. A method for monitoring multiple electronicmail systems as recited in claim 10 further comprising visuallydisplaying information concerning at least one message detected at ane-mail system for said user. 12-24. (canceled)
 25. A method formonitoring multiple electronic mail accounts comprising: obtainingaccess information for a plurality of e-mail accounts, where at leasttwo of said plurality of e-mail accounts are hosted by different e-mailsystems; retrieving mail data from said plurality of e-mail accounts;and consolidating said mail data from said plurality of e-mail accounts.26. A method for monitoring multiple electronic mail accounts as recitedin claim 25 wherein obtaining access information includes: receiving adesignation of a plurality of e-mail accounts; and receiving adesignation of access protocols concerning said plurality of e-mailaccounts.
 27. A method for monitoring multiple electronic mail accountsas recited in claim 25 further comprising: visually displaying anindication on said user's system that there is at least one message fromat least one e-mail account.
 28. A method for monitoring multipleelectronic mail accounts as recited in claim 25 further comprisingvisually displaying information concerning at least one message for saiduser.
 29. A method for monitoring multiple electronic mail accounts asrecited in claim 25 wherein said different e-mail systems areInternet-based e-mail systems.
 30. An apparatus for monitoring multipleelectronic mail accounts comprising: a digital processor; read/writememory coupled to said digital processor; at least one externalcommunications channel coupled to said digital processor permitting saiddigital processor to communicate with a plurality of external electronicmail accounts, where at least two of said plurality of externalelectronic mail accounts are hosted by different e-mail systems; apoller at least partially stored in said read/write memory andexecutable on said digital processor, said poller being operative togenerate inquiries over said at least one communications channel to saidplurality of electronic mail accounts; a data retriever at leastpartially stored in said read/write memory and executable on saiddigital processor, said data retriever being operative to receive dataconcerning mail intended for a designated user from said plurality ofelectronic mail accounts; and a consolidator developing data concerningmail for said designated user from said plurality of electronic mailaccounts.
 31. An apparatus for monitoring multiple electronic mailaccounts as recited in claim 30 wherein said at least one externalcommunications channel includes a Local Area Network (LAN).
 32. Anapparatus for monitoring multiple electronic mail accounts as recited inclaim 30 wherein said at least one external communications channelincludes a Wide Area Network (WAN).
 33. An apparatus for monitoringmultiple electronic mail accounts as recited in claim 32 wherein saidWAN includes the Internet.